package com.tiancheng.commom.pay.lkl.res;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * 拉卡拉订单查询响应
 */
@Data
public class LklOrderQueryRes {
    /**
     * 商户号 - 拉卡拉分配的商户号（请求接口中商户号）
     */
    @JsonProperty("merchant_no")
    private String merchantNo;

    /**
     * 商户请求流水号 - 请求中的商户请求流水号
     */
    @JsonProperty("out_trade_no")
    private String outTradeNo;

    /**
     * 拉卡拉商户订单号 - 拉卡拉生成的交易流水
     */
    @JsonProperty("trade_no")
    private String tradeNo;

    /**
     * 拉卡拉对账单流水号 - trade_no的后14位
     */
    @JsonProperty("log_no")
    private String logNo;

    /**
     * 交易大类 - PREORDER-主扫，MICROPAY-被扫，REFUND-退款，CANCEL-撤销，无-其它类型
     */
    @JsonProperty("trade_main_type")
    private String tradeMainType;

    /**
     * 拆单属性 - 只有涉及合单交易时会出现：M-主单，S-子单
     */
    @JsonProperty("split_attr")
    private String splitAttr;

    /**
     * 拆单信息 - 如果查询订单是主单，则返回
     */
    @JsonProperty("split_info")
    private List<Object> splitInfo;

    /**
     * 账户端交易订单号 - 账户端交易流水号
     */
    @JsonProperty("acc_trade_no")
    private String accTradeNo;

    /**
     * 钱包类型 - 微信：WECHAT 支付宝：ALIPAY 银联：UQRCODEPAY 翼支付: BESTPAY 苏宁易付宝: SUNING
     */
    @JsonProperty("account_type")
    private String accountType;

    /**
     * 交易状态
     */
    @JsonProperty("trade_state")
    private String tradeState;

    /**
     * 交易状态描述
     */
    @JsonProperty("trade_state_desc")
    private String tradeStateDesc;

    /**
     * 订单金额 - 单位分，整数数字型字符
     */
    @JsonProperty("total_amount")
    private String totalAmount;

    /**
     * 付款人实付金额 - 单位分
     */
    @JsonProperty("payer_amount")
    private String payerAmount;

    /**
     * 账户端应结订单金额 - 单位分
     */
    @JsonProperty("acc_settle_amount")
    private String accSettleAmount;

    /**
     * 商户侧优惠金额（账户端） - 单位分
     */
    @JsonProperty("acc_mdiscount_amount")
    private String accMdiscountAmount;

    /**
     * 账户端优惠金额 - 单位分
     */
    @JsonProperty("acc_discount_amount")
    private String accDiscountAmount;

    /**
     * 账户端其它优惠金额 - 单位分
     */
    @JsonProperty("acc_other_discount_amount")
    private String accOtherDiscountAmount;

    /**
     * 交易完成时间 - 实际支付时间(yyyyMMddHHmmss)
     */
    @JsonProperty("trade_time")
    private String tradeTime;

    /**
     * 用户标识1 - 微信sub_open_id 支付宝buyer_logon_id（买家支付宝账号）
     */
    @JsonProperty("user_id1")
    private String userId1;

    /**
     * 用户标识2 - 微信openId支 付宝buyer_user_id 银联user_id
     */
    @JsonProperty("user_id2")
    private String userId2;

    /**
     * 付款银行
     */
    @JsonProperty("bank_type")
    private String bankType;

    /**
     * 银行卡类型
     */
    @JsonProperty("card_type")
    private String cardType;

    /**
     * 活动ID - 在账户端商户后台配置的批次ID
     */
    @JsonProperty("acc_activity_id")
    private String accActivityId;

    /**
     * 交易请求日期
     */
    @JsonProperty("trade_req_date")
    private String tradeReqDate;

    /**
     * 账户端返回信息域
     */
    @JsonProperty("acc_resp_fields")
    private Object accRespFields;

    /**
     * 合单退款拆单信息 - 如果查询订单是退款主单，则返回
     */
    @JsonProperty("refund_split_info")
    private List<Object> refundSplitInfo;

}
